Tables [dbo].[DocumentMain]
Properties
PropertyValue
Created10:31:20 AM Tuesday, March 02, 2010
Last Modified4:01:58 AM Thursday, March 15, 2012
Columns
NameData TypeMax Length (Bytes)Allow NullsDefault
Cluster Primary Key PK_DocumentMain: DocumentKeyForeign Keys FK_DocumentMain_UniformRegistry: [dbo].[UniformRegistry].DocumentKeyIndexes IX_DocumentMain_DocumentVersionKey_CreatedOn_AccessKey: DocumentKey\DocumentVersionKey\CreatedOn\AccessKeyIndexes IX_DocumentMain_DocumentVersionKey_DocumentKey_AccessKey_CreatedOn: DocumentVersionKey\DocumentKey\AccessKey\CreatedOnIndexes IX_DocumentMain_StatusKey_VersionKey_Key_Name_Typecode: RelatedDocumentVersionKey\DocumentStatusCode\DocumentVersionKey\DocumentKey\DocumentName\DocumentTypeCodeDocumentKeyuniqueidentifier16
No
(newid())
IsSystembit1
No
((0))
Blobimagemax
Yes
Foreign Keys FK_DocumentMain_AccessMain_DefaultChild: [dbo].[AccessMain].DefaultChildAccessKeyIndexes IX_DocumentMain_DefaultChildAccessKey: DefaultChildAccessKeyDefaultChildAccessKeyuniqueidentifier16
Yes
Foreign Keys FK_DocumentMain_UserMain_UpdatedBy: [dbo].[UserMain].UpdatedByUserKeyIndexes IX_DocumentMain_UpdatedByUserKey: UpdatedByUserKeyUpdatedByUserKeyuniqueidentifier16
No
UpdatedOndatetime8
No
(getdate())
Foreign Keys FK_DocumentMain_UserMain_LockedBy: [dbo].[UserMain].LockedByUserKeyIndexes IX_DocumentMain_LockedByUserKey: LockedByUserKeyLockedByUserKeyuniqueidentifier16
Yes
LockedOndatetime8
Yes
Foreign Keys FK_DocumentMain_AccessMain: [dbo].[AccessMain].AccessKeyIndexes IX_DocumentMain_DocumentVersionKey_CreatedOn_AccessKey: DocumentKey\DocumentVersionKey\CreatedOn\AccessKeyIndexes IX_DocumentMain_DocumentVersionKey_DocumentKey_AccessKey_CreatedOn: DocumentVersionKey\DocumentKey\AccessKey\CreatedOnAccessKeyuniqueidentifier16
No
Foreign Keys FK_DocumentMain_UserMain_CreatedBy: [dbo].[UserMain].CreatedByUserKeyIndexes IX_DocumentMain_CreatedByUserKey: CreatedByUserKeyCreatedByUserKeyuniqueidentifier16
No
Indexes IX_DocumentMain_DocumentVersionKey_CreatedOn_AccessKey: DocumentKey\DocumentVersionKey\CreatedOn\AccessKeyIndexes IX_DocumentMain_DocumentVersionKey_DocumentKey_AccessKey_CreatedOn: DocumentVersionKey\DocumentKey\AccessKey\CreatedOnCreatedOndatetime8
No
ContainsChildrenFlagbit1
No
Foreign Keys FK_DocumentMain_UniformRegistry_DocumentVersionKey: [dbo].[UniformRegistry].DocumentVersionKeyIndexes IX_DocumentMain_DocumentVersionKey_CreatedOn_AccessKey: DocumentKey\DocumentVersionKey\CreatedOn\AccessKeyIndexes IX_DocumentMain_DocumentName_DocumentVersionKey: DocumentName\DocumentVersionKeyIndexes IX_DocumentMain_DocumentVersionKey_DocumentKey_AccessKey_CreatedOn: DocumentVersionKey\DocumentKey\AccessKey\CreatedOnIndexes IX_DocumentMain_DocumentVersionKey_DocumentName: DocumentVersionKey\DocumentNameIndexes IX_DocumentMain_DocumentVersionKey_DocumentStatusCode: DocumentVersionKey\DocumentStatusCodeIndexes IX_DocumentMain_StatusKey_VersionKey_Key_Name_Typecode: RelatedDocumentVersionKey\DocumentStatusCode\DocumentVersionKey\DocumentKey\DocumentName\DocumentTypeCodeDocumentVersionKeyuniqueidentifier16
No
Foreign Keys FK_DocumentMain_DocumentTypeRef: [dbo].[DocumentTypeRef].DocumentTypeCodeIndexes IX_DocumentMain_StatusKey_VersionKey_Key_Name_Typecode: RelatedDocumentVersionKey\DocumentStatusCode\DocumentVersionKey\DocumentKey\DocumentName\DocumentTypeCodeDocumentTypeCodenvarchar(3)6
No
Foreign Keys FK_DocumentMain_DocumentStatusRef: [dbo].[DocumentStatusRef].DocumentStatusCodeIndexes IX_DocumentMain_DocumentVersionKey_DocumentStatusCode: DocumentVersionKey\DocumentStatusCodeIndexes IX_DocumentMain_StatusKey_VersionKey_Key_Name_Typecode: RelatedDocumentVersionKey\DocumentStatusCode\DocumentVersionKey\DocumentKey\DocumentName\DocumentTypeCodeDocumentStatusCodeint4
No
Indexes IX_DocumentMain_DocumentName_DocumentVersionKey: DocumentName\DocumentVersionKeyIndexes IX_DocumentMain_DocumentVersionKey_DocumentName: DocumentVersionKey\DocumentNameIndexes IX_DocumentMain_StatusKey_VersionKey_Key_Name_Typecode: RelatedDocumentVersionKey\DocumentStatusCode\DocumentVersionKey\DocumentKey\DocumentName\DocumentTypeCodeDocumentNamenvarchar(100)200
No
DocumentDescriptionnvarchar(250)500
Yes
AlternateNamenvarchar(100)200
Yes
StatusUpdatedOndatetime8
No
Foreign Keys FK_DocumentMain_UserMain_StatusUpdatedBy: [dbo].[UserMain].StatusUpdatedByUserKeyIndexes IX_DocumentMain_StatusUpdatedByUserKey: StatusUpdatedByUserKeyStatusUpdatedByUserKeyuniqueidentifier16
No
BranchedFromDocumentKeyuniqueidentifier16
Yes
Indexes IX_DocumentMain_RelatedDocumentVersionKey: RelatedDocumentVersionKeyIndexes IX_DocumentMain_StatusKey_VersionKey_Key_Name_Typecode: RelatedDocumentVersionKey\DocumentStatusCode\DocumentVersionKey\DocumentKey\DocumentName\DocumentTypeCodeRelatedDocumentVersionKeyuniqueidentifier16
Yes
VersionCommentnvarchar(500)1000
Yes
VersionLabelnvarchar(50)100
Yes
MarkedForDeleteOndatetime8
Yes
DocumentCodenvarchar(100)200
Yes
SystemKeyuniqueidentifier16
Yes
Indexes Indexes
NameColumnsUnique
Cluster Primary Key PK_DocumentMain: DocumentKeyPK_DocumentMainDocumentKey
Yes
IX_DocumentMain_CreatedByUserKeyCreatedByUserKey
IX_DocumentMain_DefaultChildAccessKeyDefaultChildAccessKey
IX_DocumentMain_DocumentName_DocumentVersionKeyDocumentName, DocumentVersionKey
IX_DocumentMain_DocumentVersionKey_CreatedOn_AccessKeyDocumentKey, DocumentVersionKey, CreatedOn, AccessKey
IX_DocumentMain_DocumentVersionKey_DocumentKey_AccessKey_CreatedOnDocumentVersionKey, DocumentKey, AccessKey, CreatedOn
IX_DocumentMain_DocumentVersionKey_DocumentNameDocumentVersionKey, DocumentName
IX_DocumentMain_DocumentVersionKey_DocumentStatusCodeDocumentVersionKey, DocumentStatusCode
IX_DocumentMain_LockedByUserKeyLockedByUserKey
IX_DocumentMain_RelatedDocumentVersionKeyRelatedDocumentVersionKey
IX_DocumentMain_StatusKey_VersionKey_Key_Name_TypecodeRelatedDocumentVersionKey, DocumentStatusCode, DocumentVersionKey, DocumentKey, DocumentName, DocumentTypeCode
IX_DocumentMain_StatusUpdatedByUserKeyStatusUpdatedByUserKey
IX_DocumentMain_UpdatedByUserKeyUpdatedByUserKey
Triggers Triggers
NameANSI Nulls OnQuoted Identifier OnOn
asi_DocumentMain_Update
Yes
Yes
After Update
Foreign Keys Foreign Keys
NameColumns
FK_DocumentMain_AccessMainAccessKey->[dbo].[AccessMain].[AccessKey]
FK_DocumentMain_AccessMain_DefaultChildDefaultChildAccessKey->[dbo].[AccessMain].[AccessKey]
FK_DocumentMain_DocumentStatusRefDocumentStatusCode->[dbo].[DocumentStatusRef].[DocumentStatusCode]
FK_DocumentMain_DocumentTypeRefDocumentTypeCode->[dbo].[DocumentTypeRef].[DocumentTypeCode]
FK_DocumentMain_UniformRegistryDocumentKey->[dbo].[UniformRegistry].[UniformKey]
FK_DocumentMain_UniformRegistry_DocumentVersionKeyDocumentVersionKey->[dbo].[UniformRegistry].[UniformKey]
FK_DocumentMain_UserMain_CreatedByCreatedByUserKey->[dbo].[UserMain].[UserKey]
FK_DocumentMain_UserMain_LockedByLockedByUserKey->[dbo].[UserMain].[UserKey]
FK_DocumentMain_UserMain_StatusUpdatedByStatusUpdatedByUserKey->[dbo].[UserMain].[UserKey]
FK_DocumentMain_UserMain_UpdatedByUpdatedByUserKey->[dbo].[UserMain].[UserKey]
SQL Script
CREATE TABLE [dbo].[DocumentMain]
(
[DocumentKey] [uniqueidentifier] NOT NULL CONSTRAINT [DF_DocumentMain_DocumentKey] DEFAULT (newid()),
[IsSystem] [bit] NOT NULL CONSTRAINT [DF_DocumentMain_IsSystem] DEFAULT ((0)),
[Blob] [image] NULL,
[DefaultChildAccessKey] [uniqueidentifier] NULL,
[UpdatedByUserKey] [uniqueidentifier] NOT NULL,
[UpdatedOn] [datetime] NOT NULL CONSTRAINT [DF_DocumentMain_UpdatedOn] DEFAULT (getdate()),
[LockedByUserKey] [uniqueidentifier] NULL,
[LockedOn] [datetime] NULL,
[AccessKey] [uniqueidentifier] NOT NULL,
[CreatedByUserKey] [uniqueidentifier] NOT NULL,
[CreatedOn] [datetime] NOT NULL,
[ContainsChildrenFlag] [bit] NOT NULL,
[DocumentVersionKey] [uniqueidentifier] NOT NULL,
[DocumentTypeCode] [nvarchar] (3) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[DocumentStatusCode] [int] NOT NULL,
[DocumentName] [nvarchar] (100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[DocumentDescription] [nvarchar] (250) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[AlternateName] [nvarchar] (100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[StatusUpdatedOn] [datetime] NOT NULL,
[StatusUpdatedByUserKey] [uniqueidentifier] NOT NULL,
[BranchedFromDocumentKey] [uniqueidentifier] NULL,
[RelatedDocumentVersionKey] [uniqueidentifier] NULL,
[VersionComment] [nvarchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[VersionLabel] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[MarkedForDeleteOn] [datetime] NULL,
[DocumentCode] [nvarchar] (100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[SystemKey] [uniqueidentifier] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO
CREATE TRIGGER [dbo].[asi_DocumentMain_Update]
    ON [dbo].[DocumentMain]
    FOR UPDATE
AS
   UPDATE ComponentRegistry
      SET Name = inserted.DocumentName,
          AssemblyName = REPLACE(inserted.DocumentName, ' ', '') + 'Rules'
     FROM ComponentRegistry INNER JOIN deleted
       ON ComponentRegistry.Name = deleted.DocumentName AND ComponentRegistry.TypeName = 'Asi.Business.BusinessItem'
          INNER JOIN inserted ON inserted.DocumentKey = deleted.DocumentKey
    WHERE inserted.DocumentTypeCode = 'BOD'

GO
ALTER TABLE [dbo].[DocumentMain] ADD CONSTRAINT [PK_DocumentMain] PRIMARY KEY CLUSTERED ([DocumentKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_DocumentMain_CreatedByUserKey] ON [dbo].[DocumentMain] ([CreatedByUserKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_DocumentMain_DefaultChildAccessKey] ON [dbo].[DocumentMain] ([DefaultChildAccessKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_DocumentMain_DocumentVersionKey_CreatedOn_AccessKey] ON [dbo].[DocumentMain] ([DocumentVersionKey], [CreatedOn] DESC, [AccessKey]) INCLUDE ([DocumentKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_DocumentMain_DocumentName_DocumentVersionKey] ON [dbo].[DocumentMain] ([DocumentName], [DocumentVersionKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_DocumentMain_DocumentVersionKey_DocumentKey_AccessKey_CreatedOn] ON [dbo].[DocumentMain] ([DocumentVersionKey], [DocumentKey], [AccessKey], [CreatedOn]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_DocumentMain_DocumentVersionKey_DocumentName] ON [dbo].[DocumentMain] ([DocumentVersionKey], [DocumentName]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_DocumentMain_DocumentVersionKey_DocumentStatusCode] ON [dbo].[DocumentMain] ([DocumentVersionKey], [DocumentStatusCode]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_DocumentMain_LockedByUserKey] ON [dbo].[DocumentMain] ([LockedByUserKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_DocumentMain_RelatedDocumentVersionKey] ON [dbo].[DocumentMain] ([RelatedDocumentVersionKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_DocumentMain_StatusKey_VersionKey_Key_Name_Typecode] ON [dbo].[DocumentMain] ([DocumentStatusCode], [DocumentVersionKey], [DocumentKey], [DocumentName], [DocumentTypeCode]) INCLUDE ([RelatedDocumentVersionKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_DocumentMain_StatusUpdatedByUserKey] ON [dbo].[DocumentMain] ([StatusUpdatedByUserKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_DocumentMain_UpdatedByUserKey] ON [dbo].[DocumentMain] ([UpdatedByUserKey]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[DocumentMain] ADD CONSTRAINT [FK_DocumentMain_AccessMain] FOREIGN KEY ([AccessKey]) REFERENCES [dbo].[AccessMain] ([AccessKey])
GO
ALTER TABLE [dbo].[DocumentMain] ADD CONSTRAINT [FK_DocumentMain_AccessMain_DefaultChild] FOREIGN KEY ([DefaultChildAccessKey]) REFERENCES [dbo].[AccessMain] ([AccessKey])
GO
ALTER TABLE [dbo].[DocumentMain] ADD CONSTRAINT [FK_DocumentMain_DocumentStatusRef] FOREIGN KEY ([DocumentStatusCode]) REFERENCES [dbo].[DocumentStatusRef] ([DocumentStatusCode])
GO
ALTER TABLE [dbo].[DocumentMain] ADD CONSTRAINT [FK_DocumentMain_DocumentTypeRef] FOREIGN KEY ([DocumentTypeCode]) REFERENCES [dbo].[DocumentTypeRef] ([DocumentTypeCode])
GO
ALTER TABLE [dbo].[DocumentMain] ADD CONSTRAINT [FK_DocumentMain_UniformRegistry] FOREIGN KEY ([DocumentKey]) REFERENCES [dbo].[UniformRegistry] ([UniformKey])
GO
ALTER TABLE [dbo].[DocumentMain] ADD CONSTRAINT [FK_DocumentMain_UniformRegistry_DocumentVersionKey] FOREIGN KEY ([DocumentVersionKey]) REFERENCES [dbo].[UniformRegistry] ([UniformKey])
GO
ALTER TABLE [dbo].[DocumentMain] ADD CONSTRAINT [FK_DocumentMain_UserMain_CreatedBy] FOREIGN KEY ([CreatedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO
ALTER TABLE [dbo].[DocumentMain] ADD CONSTRAINT [FK_DocumentMain_UserMain_LockedBy] FOREIGN KEY ([LockedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO
ALTER TABLE [dbo].[DocumentMain] ADD CONSTRAINT [FK_DocumentMain_UserMain_StatusUpdatedBy] FOREIGN KEY ([StatusUpdatedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO
ALTER TABLE [dbo].[DocumentMain] ADD CONSTRAINT [FK_DocumentMain_UserMain_UpdatedBy] FOREIGN KEY ([UpdatedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO
Uses
Used By